#include "led.h"
#include "key.h"
#include "delay.h"
#include "usart.h"
#include <stdio.h>
#include "dma.h"

// 定义全局变量，表示数据传输完成
uint8_t isFinished = 0;

// 定义全局常亮，放置在ROM中，作为数据源
const uint8_t src[4] = {10,20,30,40};

// 定义变量数组，放置在RAM中，用来存储接收到的数据
static uint8_t dest[4] = {0, 0, 0, 0};

int main(void)
{
    // 初始化
    USART_Init();
    DMA1_Init();

    printf("hello,world!\n");

    // 打印变量和常量地址
    printf("src = %p, dest = %p\n", src, dest);
    for (uint8_t i = 0; i < 4; i++)
    {
        printf("%d\t", dest[i]);
    }
    printf("\n");

    DMA1_Transmit(src, dest, 4);

    while(1)
    {
        if (isFinished)
        {
            // 打印输出验证
            for (uint8_t i = 0; i < 4; i++)
            {
                printf("%d\t", dest[i]);
            }
            isFinished = 0;
        }
    }
}
